package com.cgnpc.framework.utils;

import cn.com.cgnpc.aep.bizcenter.appcenter.sdk.config.Constants;
import cn.com.cgnpc.aep.bizcenter.appcenter.sdk.vo.CgnRequestHeader;
import com.cgnpc.cud.boot.autoconfigure.aep.AepProperties;
import com.cgnpc.framework.userinfo.CurrentUser;

/******************************
 * 用途说明: 设置中台的环境 生产 测试 预生产
 * 作者姓名: pxmwrya
 * 创建时间: 2019/6/17 12:01
 ******************************/
public class CgnHeader {

    //随时选择开发环境还是测试环境  在properties里面也可以配置试一下
    public static String getUrl(String active) {
        if (active == null) {
            return Constants.API_GATEWAY_URL_D;
        } else if ("dev".equals(active)) {
            return Constants.API_GATEWAY_URL_D;
        } else if ("test".equals(active)) {
            return Constants.API_GATEWAY_URL_T;
        } else if ("stage".equals(active)) {
            return Constants.API_GATEWAY_URL_P;
        } else if ("online".equals(active)) {
            return Constants.API_GATEWAY_URL;
        } else {
            return Constants.API_GATEWAY_URL_D;
        }
    }

    /**********************************
     * 用途说明: 写一个 返回 CgnRequestHeader的方法
     * 参数说明 realServiceUrl
     * 参数说明 aepProperties
     * 返回值说明:
     ***********************************/
    public static CgnRequestHeader getHeader(String realServiceUrl, AepProperties aepProperties) throws Exception {
        return CgnRequestHeader
                .initCgnRequestHeader(Constants.SIGN_API_VERSION,
                        aepProperties.getTenantId(),
                        CurrentUser.getUser(),
                        aepProperties.getAppId(),
                        aepProperties.getAppKey(),
                        realServiceUrl,
                        Constants.API_JSON_RESULT,
                        aepProperties.getAppSecret());
    }
}